home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / smaltalk.lha / smalltalk-1.1.1 / Makefile < prev    next >
Makefile  |  1991-09-13  |  5KB  |  175 lines

  1. ######################################################################
  2. #
  3. # Copyright (C) 1990, 1991 Free Software Foundation, Inc.
  4. # Written by Steve Byrne, with lots of good input from Dave Ciemiewicz.
  5. #
  6. # This file is part of GNU Smalltalk.
  7. #
  8. # GNU Smalltalk is free software; you can redistribute it and/or modify it
  9. # under the terms of the GNU General Public License as published by the Free
  10. # Software Foundation; either version 1, or (at your option) any later version.
  11. # GNU Smalltalk is distributed in the hope that it will be useful, but WITHOUT
  12. # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  13. # FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
  14. # details.
  15. # You should have received a copy of the GNU General Public License along with
  16. # GNU Smalltalk; see the file COPYING.  If not, write to the Free Software
  17. # Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  
  18. #
  19. #######################################################################
  20.  
  21. ##################
  22. ##################
  23. ##################
  24. ###
  25. ### See mst.texinfo for details on installation.
  26. ###
  27. ##################
  28. ##################
  29. ##################
  30.  
  31. ##############
  32. #
  33. # These variables you may wish to change
  34. #
  35. ##############
  36.  
  37. # Mail path to GNU Smalltalk maintainer (Steve Byrne)
  38. MAINTAINER = 'sbb@eng.sun.com'
  39.  
  40. # Uncomment this to use the winning GNU C compiler
  41. #CC = gcc
  42.  
  43. # These two definitions are used to allow you to add your own files
  44. # and libraries that will be linked into the GNU Smalltalk executable image.
  45. # see ./examples/Makefile for an example of how to use these
  46. USER_OBJS =
  47. USER_LIBS =
  48.  
  49. # This controls what file gets created on a 'make tar'...it could be the name
  50. # of a tape drive.
  51. TAR_FILE = mst.tar    # change this or override to be correct for your site
  52.  
  53. # Note: an alternative is  CPP = /lib/cpp
  54. CPP = cc -E
  55.  
  56. # Uncomment this line to enable the ultra-winning readline-reader
  57. #READLINE = -DUSE_READLINE
  58.  
  59. ######################################################################
  60. ######################################################################
  61. ######################################################################
  62. ###
  63. ### You typically won't want to change any variables below this 
  64. ### point, although you may want to add rules for your own C functions
  65. ### below.
  66. ###
  67. ######################################################################
  68. ######################################################################
  69. ######################################################################
  70.  
  71. MAKE = make  # BSD doesn't have it as a default.
  72.  
  73. # This controls the distribution version (not completely yet)
  74. VERSION=1.1.1
  75.  
  76. all: xmakefile $(USER_OBJS)
  77.     @$(MAKE) $(MFLAGS) \
  78.         CC=$(CC) \
  79.         "USER_OBJS=$(USER_OBJS)" "USER_LIBS=$(USER_LIBS)" \
  80.         -f xmakefile mst
  81.  
  82. mst lexdebug: xmakefile $(USER_OBJS)
  83.     @$(MAKE) $(MFLAGS) CC=$(CC) \
  84.         "USER_OBJS=$(USER_OBJS)" "USER_LIBS=$(USER_LIBS)" \
  85.         -f xmakefile $@
  86.  
  87.  
  88.  
  89. profile:
  90.     $(MAKE) CFLAGS='$(CFLAGS) -pg -Dprofiling' -f xmakefile $@
  91.  
  92. regress:
  93.     (cd ./test; run-regression-tests)
  94.  
  95. clean:
  96.     -rm -f *.o
  97.     -rm -f mst mst.im
  98.     -rm -f junk.c xmakefile
  99.  
  100. #
  101. # Install into the directories pointed to by mstpaths.h
  102. #
  103.  
  104. install: xmakefile
  105.     @$(MAKE) $(MFLAGS) -f xmakefile install
  106.  
  107. #
  108. # Create a tar file based on the Smalltalk source files
  109. #
  110. tar:
  111.     rm -f smalltalk-$(VERSION)
  112.     ln -s . smalltalk-$(VERSION)
  113.     sed -e "s/^/smalltalk-$(VERSION)\//" < mstfiles > mstdistfiles
  114.     tar cvf $(TAR_FILE) `cat mstdistfiles`
  115.     rm -f mstdistfiles
  116.  
  117. xmakefile: ymakefile mstconfig.h mstpaths.h
  118.     @echo "===== creating configuration dependent xmakefile"
  119.     rm -f xmakefile
  120.     cp ymakefile junk.c
  121.     $(CPP) -DFOR_MAKE $(READLINE) junk.c |                \
  122.     sed -e 's/^#.*//' -e 's/^[ \f\t][ \f\t]*$$//' -e 's/^ / /' |    \
  123.     sed -n -e '/^..*$$/p' > xmakefile
  124.     rm -f junk.c
  125.     @echo "===== done creating xmakefile"
  126.  
  127.  
  128.  
  129. #
  130. # Make the shar file for GNU Smalltalk
  131. #
  132. shar:
  133.     shar -imstfiles > mst.shar
  134.  
  135.  
  136. #
  137. # (Re)build the tags for Emacs
  138. #
  139. tags:
  140.     etags mst*.[ch]
  141.  
  142. unfin:
  143.     egrep -n '### ' *.[chy]
  144.  
  145. optionals:
  146.     egrep -n '??? ' *.[chy]
  147.  
  148.  
  149. senddiffs: diffs
  150.     kermit -e 1000 -s mst.diffs
  151.  
  152. mail-diffs:
  153.     @echo "Please enter a brief note describing the contents of"
  154.     @echo "the diffs file that you've created.  End with Ctrl-D."
  155.     @cat > mst.diffs.note
  156.     @echo "-----------------------------------" >> mst.diffs.note
  157.     @### If there's a more portable/better way to do this, please
  158.     @### don't hesitate to fix this and send the new version back -- SBB
  159.     @cat mst.diffs.note mst.diffs | mail $(MAINTAINER)
  160.  
  161. diffs:
  162.     mk_mst_diffs
  163.  
  164. setup:
  165.     @if [ -f ./orig ] ; then \
  166.         echo "./orig exists, but is not a directory" ; \
  167.         exit 1 ; \
  168.     fi
  169.     rm -rf ./orig
  170.     mkdir ./orig
  171.     tar cbf 20 - `cat mstfiles` | (cd ./orig; tar xbBf 20 -)
  172.  
  173.